home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / pcboard / msgtag11.zip / KILL.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-01-30  |  3KB  |  185 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Integer  INTEGER001
  21.     Integer  INTEGER002
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     String   STRING001
  25.     String   STRING002
  26.     String   STRING003
  27.     String   STRING004
  28.     String   STRING005
  29.     BigStr   BIGSTR001
  30.  
  31. ;------------------------------------------------------------------------------
  32.  
  33.     STRING004 = ReadLine(PCBDat(), 204)
  34.     STRING004 = FileInf(STRING004, 6) + ":" + FileInf(STRING004, 7)
  35.     STRING005 = STRING004 + "mtg" + String(CurConf()) + ".lst"
  36.     INTEGER002 = TokCount()
  37.     If (INTEGER002 < 1) Then
  38.         If (Exist(STRING005)) Then
  39.             If (FileInf(STRING005, 4) > 0) BOOLEAN001 = 1
  40.         Endif
  41.         PrintLn "@X0F*@X0D────────────────────────────────────────@X0F*"
  42.         PrintLn " @X0BEnter single numbers @X0F(@X0E1 4 9@X0F)@X0B or enter"
  43.         PrintLn " @X0Branges @X0F(@X0E1-4 6-12@X0F)@X0B of msg #'s to kill@X07"
  44.         Newline
  45.         PrintLn "      @X03Low Message Number@X0F :@X0E ", LoMsgNum()
  46.         PrintLn "      @X03High Message Number@X0F:@X0E ", HiMsgNum()
  47.         PrintLn "@X0F*@X0D────────────────────────────────────────@X0F*"
  48.         If (BOOLEAN001) Then
  49.             STRING001 = "@X0AEnter the Message #(s) to Kill, @X02(@X0FTAG@X02)=@X03@X0BTagged @X03Msgs, @X0F(Enter)=none@X07"
  50.         Else
  51.             STRING001 = "@X0AEnter the Message #(s) to Kill @X0F(Enter)=none@X07"
  52.         Endif
  53.         InputStr STRING001, BIGSTR001, 14, 50, " ;0123456789-DELTAG", 256 + 8
  54.         If (BIGSTR001 == "") Goto LABEL002
  55.         If (BIGSTR001 == "TAG") Gosub LABEL001
  56.         BIGSTR001 = ReplaceStr(BIGSTR001, " ", ";")
  57.         If (Right(BIGSTR001, 1) <> ";") BIGSTR001 = BIGSTR001 + ";"
  58.     Else
  59.         While (1) Do
  60.             STRING004 = GetToken()
  61.             If (STRING004 == "") Break
  62.             BIGSTR001 = BIGSTR001 + STRING004 + ";"
  63.         EndWhile
  64.         If (InStr(BIGSTR001, "-") > 1) Gosub LABEL003
  65.     Endif
  66.     While (1) Do
  67.         STRING004 = Mid(BIGSTR001, 1, InStr(BIGSTR001, ";") - 1)
  68.         BIGSTR001 = Mid(BIGSTR001, InStr(BIGSTR001, ";") + 1, Len(BIGSTR001) - InStr(BIGSTR001, ";"))
  69.         If (STRING004 == "") Break
  70.         Command 0, "K " + STRING004
  71.     EndWhile
  72.     Goto LABEL002
  73.     :LABEL001
  74.     FOpen 1, STRING005, 0, 0
  75.     FRead 1, BIGSTR001, FileInf(STRING005, 4)
  76.     FClose 1
  77.     Return
  78.     :LABEL002
  79.     KbdStuff Chr(13)
  80.     End
  81.     :LABEL003
  82.     STRING002 = BIGSTR001
  83.     BIGSTR001 = ""
  84.     Tokenize STRING002
  85.     If (TokCount() == 0) Return
  86.     For INTEGER001 = 1 To Len(STRING002)
  87.         INTEGER004 = 0
  88.         INTEGER003 = 0
  89.         STRING003 = GetToken()
  90.         If (STRING003 == "") Break
  91.         If (InStr(STRING003, "-") == 0) Then
  92.             BIGSTR001 = BIGSTR001 + STRING003 + ";"
  93.             Continue
  94.         Endif
  95.         INTEGER003 = S2I(Mid(STRING003, 1, InStr(STRING003, "-") - 1), 10)
  96.         If (INTEGER003) INTEGER004 = S2I(Mid(STRING003, InStr(STRING003, "-") + 1, Len(STRING003)), 10)
  97.         If (INTEGER004 >= INTEGER003) Then
  98.             For INTEGER002 = INTEGER003 To INTEGER004
  99.                 BIGSTR001 = BIGSTR001 + String(INTEGER002) + ";"
  100.             Next
  101.             Continue
  102.         Endif
  103.         Newline
  104.         PrintLn "@X0FEnding value is less than Starting value @X0E(@X0CEntry not processed@X0E)@X07"
  105.     Next
  106.     Return
  107.  
  108. ;------------------------------------------------------------------------------
  109. ;
  110. ; Usage report (before postprocessing)
  111. ;
  112. ; ■ Statements used :
  113. ;
  114. ;    1       End
  115. ;    22      Goto 
  116. ;    26      Let 
  117. ;    7       PrintLn 
  118. ;    19      If 
  119. ;    1       FOpen 
  120. ;    1       FClose 
  121. ;    1       InputStr 
  122. ;    2       Gosub 
  123. ;    3       Return
  124. ;    2       Newline
  125. ;    1       Tokenize 
  126. ;    1       KbdStuff 
  127. ;    1       FRead 
  128. ;    1       Command 
  129. ;
  130. ;
  131. ; ■ Functions used :
  132. ;
  133. ;    18      +
  134. ;    3       -
  135. ;    7       ==
  136. ;    1       <>
  137. ;    3       <
  138. ;    2       <=
  139. ;    2       >
  140. ;    5       >=
  141. ;    9       !
  142. ;    4       &&
  143. ;    2       ||
  144. ;    4       Len(
  145. ;    4       Mid()
  146. ;    1       Right()
  147. ;    1       Chr()
  148. ;    7       InStr()
  149. ;    2       String()
  150. ;    1       CurConf()
  151. ;    1       PCBDat()
  152. ;    1       ReadLine()
  153. ;    2       GetToken()
  154. ;    1       Exist()
  155. ;    2       S2I()
  156. ;    4       FileInf()
  157. ;    2       TokCount()
  158. ;    1       ReplaceStr()
  159. ;    1       LoMsgNum()
  160. ;    1       HiMsgNum()
  161. ;
  162. ;------------------------------------------------------------------------------
  163. ;
  164. ; Analysis flags : d
  165. ;
  166. ; d - Access PCBOARD.DAT ■ 2
  167. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  168. ;     for many PPE so they can find various informations on the system
  169. ;     (system paths, max number of lines in messages, ...) but it may also
  170. ;     be a way to gather vital informations.
  171. ;     ■ Search for : PCBDAT()
  172. ;
  173. ;------------------------------------------------------------------------------
  174. ;
  175. ; Postprocessing report
  176. ;
  177. ;    2       For/Next
  178. ;    2       While/EndWhile
  179. ;    5       If/Then or If/Then/Else
  180. ;    0       Select Case
  181. ;
  182. ;------------------------------------------------------------------------------
  183. ;                 AEGiS Corp - Break the routines, code against the machines!
  184. ;------------------------------------------------------------------------------
  185.